package pl.com.like.sequoia.model.security;

public interface IAuthorization {

	/**
	 * get accessed component class name.
	 * @return accessed component class name.
	 */
	public abstract String getClazz();

	/**
	 * set accessed component class name.
	 * @param clazz accessed component class name.
	 */
	public abstract void setClazz(String clazz);

	/**
	 * User who has access to given component.
	 * @return User who has access to given component.
	 */
	public abstract IUser getUser();

	/**
	 * set User who has access to given component.
	 * @param user User who has access to given component.
	 */
	public abstract void setUser(IUser user);

	/**
	 * Constructs a <code>String</code> with all attributes
	 * in name = value format.
	 *
	 * @return a <code>String</code> representation 
	 * of this object.
	 */
	@Override
	public String toString();

}